註:本文同步更新在Notion!(數學公式會比較好閱讀)
在序列數據的處理上,遞迴式神經網路 (RNN) 是一種強大的工具,它可以根據序列中的前後依賴性進行預測。然而,傳統的 LSTM 只會從前往後處理數據,這在某些需要同時考慮過去與未來信息的場景下並不理想。為了解決這個問題,雙向 LSTM (Bidirectional LSTM, BiLSTM) 應運而生,它通過同時考慮正向和反向的信息,使模型在處理序列數據時更加靈活且準確。
雙向 LSTM 是基於傳統 LSTM 的改進版本,其主要特徵是擁有兩個 LSTM 網路,一個從序列的起點處理到終點(正向 LSTM),另一個則從終點處理到起點(反向 LSTM)。這樣,雙向 LSTM 能夠同時考慮序列中的前後信息,提供更完整的上下文。
雙向 LSTM 的數學公式:
雙向 LSTM 的核心仍是依賴於傳統 LSTM 的門控機制,即遺忘門、輸入門和輸出門。對於每一個 LSTM 單元,數學運算方式和單向 LSTM 相同。不同的是,雙向 LSTM 將正向和反向隱藏狀態進行結合,使得每個時間步的輸出都包含了來自前後兩個方向的完整信息。
具體來說:
通過將這兩個隱藏狀態拼接在一起,模型在每個時間步上獲得了序列兩端的信息,使得學習效果更加充分。
雙向 LSTM 尤其適合需要同時考慮序列中的過去和未來信息的任務。在這些任務中,BiLSTM 能夠顯著提高模型的表現:
雙向 LSTM 在數學上相較於單向 LSTM 有顯著的優勢:
雙向 LSTM 是對傳統 LSTM 的擴展,它通過引入反向處理,使模型能夠同時利用序列的前後文信息,從而在許多序列學習任務中表現出色。儘管雙向 LSTM 需要更多的計算資源,但它的強大功能使得其在語音識別、自然語言處理和其他需要上下文信息的任務中成為了不可或缺的工具。
上一天班又放假了~~~好開心呀